package com.tlgen.fragment;

import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;

import com.tlgen.R;
import com.tlgen.anim.MzTransformer;
import com.tlgen.bean.LoopBean;
import com.tlgen.bean.PageBean;
import com.tlgen.callback.ICallBack;
import com.tlgen.listener.PageHelperListener;
import com.tlgen.indicator.ZoomIndicator;
import com.tlgen.view.BannerViewPager;
import com.tlgen.view.SearchView;
import com.xuexiang.xui.widget.dialog.materialdialog.MaterialDialog;

import java.util.ArrayList;
import java.util.List;

public class LoopFragment extends Fragment {

    // 1. 初始化搜索框变量
    private SearchView searchView;

    private static final Integer[] RES = {R.mipmap.guide1,R.mipmap.guide2,R.mipmap.guide3,
            R.mipmap.guide4 };

    private static final int[] RESURL = {
            R.mipmap.daikuan1,
            R.mipmap.daikuan2,
            R.mipmap.daikuan3,
            R.mipmap.daikuan4,
            R.mipmap.daikuan5,};


    private static final String[] TEXT = {"贫困助学","国家助学贷款","生源地助学贷款","学业梦想", "贷款流程"};
    private BannerViewPager mBannerCountViewPager;

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.activity_loop, container, false);

        // 第一个viewpager
        mBannerCountViewPager = (BannerViewPager) view.findViewById(R.id.loop_viewpager);
        ZoomIndicator zoomIndicator = (ZoomIndicator) view.findViewById(R.id.bottom_scale_layout);

        //配置数据
        List<LoopBean> loopBeens = new ArrayList<>();
        for (int i = 0; i < TEXT.length; i++) {
            LoopBean bean = new LoopBean();
            bean.res = RESURL[i];
            bean.text = TEXT[i];
            loopBeens.add(bean);

        }
        //配置pagerbean，这里主要是为了viewpager的指示器的作用，注意记得写上泛型
        PageBean bean = new PageBean.Builder<LoopBean>()
                .setDataObjects(loopBeens)
                .setIndicator(zoomIndicator)
                .builder();
        // 设置viewpager的动画，这里提供了三种，分别是MzTransformer，ZoomOutPageTransformer,
        // 和DepthPageTransformer，可以体验一下
        mBannerCountViewPager.setPageTransformer(false,new MzTransformer());
        //
        mBannerCountViewPager.setPageListener(bean, R.layout.loop_layout, new PageHelperListener<LoopBean>() {
            @Override
            public void getItemView(View view, LoopBean data) {

                ImageView imageView = view.findViewById(R.id.loop_icon);
                imageView.setImageResource(data.res);
                TextView textView = view.findViewById(R.id.loop_text);
                textView.setText(data.text);

                //如若你要设置点击事件，也可以直接通过这个view 来设置，或者图片的更新等等
            }
        });

        // 搜索框
        // 2. 绑定视图, 这里search_layout可以不绑定,因为我只返回一个view
        // 3. 绑定组件
        searchView = view.findViewById(R.id.search_view);

        // 4. 设置点击搜索按键后的操作（通过回调接口）
        // 参数 = 搜索框输入的内容
        searchView.setOnClickSearch(new ICallBack() {
            @Override
            public void SearchAciton(String string) {
                System.out.println("我搜到了" + string);
            }
        });

        view.findViewById(R.id.btn_text).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (v.getId() == R.id.btn_text) {
                    new MaterialDialog.Builder(getContext())
                            .iconRes(R.drawable.icon_tip)
                            .title(R.string.tip_infos)
                            .content(R.string.content_simple_confirm_dialog)
                            .positiveText(R.string.lab_submit)
                            .show();
                }
            }
        });

        return view;
    }
}
